//=============================================================================
/**
 *	@brief	リソース_3Dオブジェクトポインタヘッダファイル
 *
 *	@param	none
 *	@retval	none
 */
//=============================================================================

#ifndef __FLD_RES_OBJ_H__
#define __FLD_RES_OBJ_H__

#include "fld_res_obj_def.h"

typedef struct F_OBJ_DATA_tag
{
	NNSG3dRenderObj RenderObj;
	NNSG3dResMdl* 	ResMdl;
	int				ResID;
}F_OBJ_DATA;

extern F_RES_OBJ_MNG_PTR F_RES_OBJ_InitManager(const int inHeapID,
									const int inResNum,
									const int inObjNum,
									NNSG3dResFileHeader **inRes);

extern void F_RES_OBJ_End(	F_RES_OBJ_MNG_PTR pMngPtr );

extern F_OBJ_DATA	*F_RES_OBJ_EntryRes(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);

extern void F_RES_OBJ_ClearEntry(F_RES_OBJ_MNG_PTR pMngPtr, F_OBJ_DATA	* inObjData);

extern F_OBJ_DATA	*F_RES_OBJ_GetRenderObjPtr(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);

extern F_OBJ_DATA	*F_RES_OBJ_CreateRenderObjPtr(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);
extern F_OBJ_DATA	*F_RES_OBJ_CreateObjPtr(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);
extern F_OBJ_DATA	*F_RES_OBJ_AssignRenderObjPtr(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);

extern BOOL	F_RES_OBJ_ReturnRenderObjPtr(F_RES_OBJ_MNG_PTR pMngPtr, F_OBJ_DATA	*inObjData);

extern BOOL F_RES_OBJ_IsEntry(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);

extern BOOL F_RES_OBJ_CheckResourceEntry(F_RES_OBJ_MNG_PTR pMngPtr, const int inResID);

#endif //__FLD_RES_OBJ_H__